<?php

/**
 * 在HTML中提取title
 * @param type $html
 * @return type
 */
function parse_html_title($html) {
    $pTitle = '#<title>(.*)</title>#isU';
    $arrTitle = array();
    preg_match_all($pTitle, $html, $arrTitle);
    $strTitle = $arrTitle[1][0];
    return $strTitle;
}

/**
 * 在HTML中提取h1
 * @param type $html
 * @return type
 */
function parse_html_h1title($html) {
    $pTitle = '#<h1>(.*)</h1>#isU';
    $arrTitle = array();
    preg_match_all($pTitle, $html, $arrTitle);
    $strTitle = $arrTitle[1][0];
    return $strTitle;
}

/**
 * 在HTML中提取keywords
 * @param type $html
 * @return string
 */
function parse_html_keywords($html) {
    $arrPossibleP = array(
        '#<meta name="keywords" content="(.*)"/>#isU',
        '#<meta name="keywords" content="(.*)" />#isU',
        '#<meta name="keywords" content=\'(.*)\' />#isU',
    );
    foreach ($arrPossibleP as $p) {
        $arrResult = array();
        preg_match_all($p, $html, $arrResult);
        if ($arrResult[1][0]) {
            return $arrResult[1][0];
        }
    }
    return '';
}

function parse_html_desc($html) {
    $arrPossibleP = array(
        '#<meta name="description" content="(.*)" />#isU',
        '#<meta name="description" content="(.*)" />#isU',
        '#<meta name="description" content=\'(.*)\' />#isU',
    );
    foreach ($arrPossibleP as $p) {
        $arrResult = array();
        preg_match_all($p, $html, $arrResult);
        if ($arrResult[1][0]) {
            return $arrResult[1][0];
        }
    }
    return '';
}

function parse_html_description($html) {
    return parse_html_desc($html);
}

/**
 * 提取指定标签内的内容
 */
function parse_html_tag($tag) {
    $pTitle = '#<' . $tag . '>(.*)</' . $tag . '>#isU';
    $arrTitle = array();
    preg_match_all($pTitle, $html, $arrTitle);
    $strTitle = $arrTitle[1][0];
    return $strTitle;
}

?>
